import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
import { getCart } from '@/service/cart'

export const  useCartStore = defineStore('cart',()=>{
  const count = ref(0);
  const doubleCount = computed(() => count.value * 2);

  // setUp store 中
  // state值可以配合storeToRefs方法被结构 也不会丢失相应式
  // action值可以配合storeToRefs方法被结构 也不会丢失相应式
  // 可以直接从 store 中解构 action，因为它们也被绑定到 store 上：
  async function updateCart() {
    // 需要通过接口获取最新数据,用于更新
    const { data = [] } = await getCart()
    count.value = data.length
  }
  return {
    count, doubleCount, updateCart
  }
})